const request = require('request');
var https = require('https');
let cheerio = require('cheerio');

exports.Movies = function (app) {
  // 根据url地址获取视频接口地址 ===== 电影
  app.post("/getPlayUrl", (req, res) => {
    request(`http://api.69ne.com/api.php?url=${req.body.playUrl}`, function (error, response, body) {
      if (eval(body).code === 200) {
        // 获取源数据
        let info = eval(body).info;
        // 创建一个空数组
        let infoArr = [];
        for (let index = 0; index < info.length; index++) {
          let obj = {};
          const element = info[index];
          // 高清
          obj.name = element.video[0].substring(0, element.video[0].indexOf('$'));
          // 中等清
          let url = element.video[0].substring(element.video[0].indexOf('$') + 1);
          obj.url = url.substring(0, url.indexOf('$'));
          infoArr.push(obj);
        }
        res.json({
          code: 'P0001',
          msg: '视频解析地址',
          url: eval(body).url,
          info: infoArr
        })
      } else {
        res.json({
          code: 'P0002',
          msg: '暂无该视频的解析地址'
        })
      }
    })
  })

  // 根据url地址获取视频接口地址 =====  电视剧
  app.post("/getUrlHrefAll", (req, res) => {
    request(`http://api.69ne.com/api.php?url=${req.body.url}`, function (error, response, body) {
      if (eval(body).code === 200) {
        res.json({
          code: 'P0001',
          msg: '视频解析地址',
          url: eval(body).url,
          info: eval(body).info
        })
      } else {
        res.json({
          code: 'P0002',
          msg: '暂无该视频的解析地址'
        })
      }
    })
  })

  //#################分割线#################
  // https
  function loadPageHttps(url) {
    var pm = new Promise(function (resolve, reject) {
      https.get(url, function (res) {
        var html = '';
        res.on('data', function (d) {
          html += d.toString()
        });
        res.on('end', function () {
          resolve(html);
        });
      }).on('error', function (e) {
        reject(e)
      });
    });
    return pm;
  }

  // 调用电视剧动漫
  app.post('/getStart', (req, res) => {
    let type = req.body.type;
    var url = `https://v.qq.com/channel/movie?listpage=1&channel=${type}&sort=18&_all=1`;
    loadPageHttps(url).then(function (d) {
      let All = [];
      $ = cheerio.load(d);
      $(".list_item").each(function (index) {
        // 获取图片
        let CarouselImg = $('.list_item>a>.figure_pic').eq(index).attr('src');
        // 获取图片详情页的链接
        let CarouselUrl = $('.list_item>a').eq(index).attr('href');
        // 名字
        let CarouselText = $('.list_item>a>.figure_pic').eq(index).attr('alt');
        All.push({
          CarouselImg,
          CarouselUrl,
          CarouselText
        });
      })
      res.json({
        code: 'G0001',
        All
      })
    }).catch((e) => {
      console.log(e)
    });
  })

  // 找到电影对应的数据
  app.post('/getStartAll', (req, res) => {
    let type = req.body.type;
    var url = `https://v.qq.com/channel/movie?_all=1&channel=movie&itype=${type}&listpage=1&sort=18`;
    loadPageHttps(url).then(function (d) {
      let All = [];
      $ = cheerio.load(d);
      $(".list_item").each(function (index) {
        // 获取图片
        let CarouselImg = $('.list_item>a>.figure_pic').eq(index).attr('src');
        // 获取图片详情页的链接
        let CarouselUrl = $('.list_item>a').eq(index).attr('href');
        // 名字
        let CarouselText = $('.list_item>a>.figure_pic').eq(index).attr('alt');
        All.push({
          CarouselImg,
          CarouselUrl,
          CarouselText
        });
      })
      res.json({
        code: 'G0001',
        All
      })
    }).catch((e) => {
      console.log(e)
    });
  })

  // 找到电视剧对应的数据
  app.post('/getStartAllTv', (req, res) => {
    let type = req.body.type;
    var url = `https://v.qq.com/channel/tv?_all=1&channel=tv&feature=${type}&listpage=1&sort=16`;
    loadPageHttps(url).then(function (d) {
      let All = [];
      $ = cheerio.load(d);
      $(".list_item").each(function (index) {
        // 获取图片
        let CarouselImg = $('.list_item>a>.figure_pic').eq(index).attr('src');
        // 获取图片详情页的链接
        let CarouselUrl = $('.list_item>a').eq(index).attr('href');
        // 名字
        let CarouselText = $('.list_item>a>.figure_pic').eq(index).attr('alt');
        All.push({
          CarouselImg,
          CarouselUrl,
          CarouselText
        });
      })
      res.json({
        code: 'G0001',
        All
      })
    }).catch((e) => {
      console.log(e)
    });
  })

  // 获取热门搜索
  app.post('/goHotSearch', (req, res) => {
    var url = `https://top.iqiyi.com/dianying.html`;
    loadPageHttps(url).then(function (d) {
      let All = [];
      $ = cheerio.load(d);
      $(".title-link").each(function (index) {
        // 获取图片
        let text = $('.title-link').eq(index).text();
        All.push(text);
      })
      res.json({
        code: 'G0001',
        All
      })
    }).catch((e) => {
      console.log(e)
    });
  })

  // 获取电影搜索结果
  app.post('/searchCon', (req, res) => {
    let input = encodeURI(req.body.input);
    var url = `https://so.iqiyi.com/so/q_${input}_ctg_%E7%94%B5%E5%BD%B1_t_5_page_1_p_1_qc_0_rd__site_iqiyi_m_1_bitrate__af_1`;
    loadPageHttps(url).then(function (d) {
      let All = [];
      $ = cheerio.load(d);
      $(".vertical-pic").each(function (index) {
        // 获取图片
        let CarouselImg = $('.vertical-pic .qy-mod-cover').eq(index).attr('src');
        // 获取详情页的链接
        let CarouselUrl = $('.vertical-pic .qy-search-result-btn').eq(index).attr('href');
        // 名字
        let CarouselText = $('.vertical-pic .main-tit').eq(index).attr('title');
        // 导演
        let CarouselDirector = $('.vertical-pic .info-link').eq(index).attr('title');
        // 简介
        let CarouselBrief = $('.vertical-pic .info-des').eq(index).text();
        // 判断如果是立即播放就获取回来
        let isPlay = $('.vertical-pic .qy-search-result-btn').eq(index).text();
        let isPlayText = isPlay.replace(/\s+/g, "");
        if (isPlayText === '立即播放' && CarouselUrl.length < 40 && CarouselUrl) {
          All.push({
            CarouselImg,
            CarouselUrl,
            CarouselText,
            CarouselDirector,
            CarouselBrief
          });
        }
      })
      res.json({
        code: 'G0001',
        All
      })
    }).catch((e) => {
      console.log(e)
    });
  })

  // 获取电视剧搜索结果
  app.post('/searchConTv', (req, res) => {
    let input = encodeURI(req.body.input);
    var url = `https://v.qq.com/x/search/?q=${input}&stag=0&smartbox_ab=`;
    loadPageHttps(url).then(function (d) {
      let All = [];
      $ = cheerio.load(d, {
        withDomLvl1: true,
        normalizeWhitespace: false,
        xmlMode: false,
        // 解析成中文 防止中文成unicode码
        decodeEntities: false
      });
      $(".result_item").each(function (index) {
        // 获取图片
        let CarouselImage = $('.result_item .figure_pic').eq(index).attr('src');
        // 获取名字
        let CarouselTitle = $('.result_item .figure_pic').eq(index).attr('alt');
        // 获取主演
        let CarouselToStar = $('.result_item .content>a').eq(index).html();
        // 获取简介
        let CarouselBrief = $('.result_item .desc_text').eq(index).html();
        // 获取url链接
        let CarouselUrl = $('.result_item .result_figure').eq(index).attr('href');
        // 获取类型
        let CarouselType = $('.result_item .type').eq(index).html();
        if (CarouselType === '电视剧' || CarouselType === '动漫') {
          All.push({
            // 图片
            CarouselImage,
            // 名字
            CarouselTitle,
            // 主演
            CarouselToStar,
            // 简介
            CarouselBrief,
            // url链接
            CarouselUrl
          });
        }
      })
      res.json({
        code: 'G0001',
        All
      })
    }).catch((e) => {
      console.log(e)
    });
  })

  // 获取腾讯视频电视剧所有集数
  app.post('/getUrlAllTxsp', (req, res) => {
    var url = req.body.url;
    loadPageHttps(url).then(function (d) {
      let All = [];
      $ = cheerio.load(d);
      $(".mod_episode .item").each(function (index) {
        // 获取所有的集数
        let CarouselUrl = $('.item a').eq(index).attr('href');
        All.push({
          index,
          CarouselUrl: 'https://v.qq.com' + CarouselUrl
        });
      })
      res.json({
        code: 'G0001',
        All
      })
    }).catch((e) => {
      console.log(e)
    });
  })

  // 获取腾讯视频电视剧所有集数
  app.post('/getUrlOne', (req, res) => {
    var url = req.body.url;
    loadPageHttps(url).then(function (d) {
      $ = cheerio.load(d);
      let CarouselUrl = $('.btn_primary_md ').eq(0).attr('href');
      res.json({
        code: 'G0001',
        CarouselUrl
      })
    }).catch((e) => {
      console.log(e)
    });
  })
}